//package com.cyl.manager.pms.service;
//
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.data.redis.core.StringRedisTemplate;
//import org.springframework.stereotype.Service;
//
//@Service
//public class StockCompensationJob {
//    @Autowired
//    private StringRedisTemplate redisTemplate;
//    @Autowired
//    private ProductMapper productMapper;
//
//    // 每10分钟补偿一次
//    @Scheduled(cron = "0 */10 * * * ?")
//    public void compensateStock() {
//        // 1. 查询所有商品
//        List<Product> products = productMapper.selectList(null);
//
//        // 2. 对比Redis和数据库库存
//        for (Product product : products) {
//            String redisKey = "stock:product:" + product.getId();
//            String redisStockStr = redisTemplate.opsForValue().get(redisKey);
//            if (redisStockStr == null) continue;
//
//            int redisStock = Integer.parseInt(redisStockStr);
//            if (product.getStock() != redisStock) {
//                log.warn("库存不一致：商品ID={}, DB库存={}, Redis库存={}", 
//                    product.getId(), product.getStock(), redisStock);
//                
//                // 以数据库为准，强制同步Redis
//                redisTemplate.opsForValue().set(redisKey, String.valueOf(product.getStock()));
//            }
//        }
//    }
//}